home *** CD-ROM | disk | FTP | other *** search
/ Freelog 117 / FreelogNo117-OctobreNovembre2013.iso / Programmation / jedit / jedit5.1.0install.exe / {app} / modes / clojure.xml < prev    next >
Extensible Markup Language  |  2013-07-28  |  17KB  |  502 lines

  1. <?xml version="1.0"?>
  2.  
  3. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  4.  
  5. <!--
  6.     This file is partially based on lisp.xml and mostly in
  7.     the documentation found at: http://clojure.org/
  8.  
  9.     author: dsm
  10.     date:   24/10/08
  11.     version:0.1
  12. -->
  13.  
  14. <MODE>
  15.     <PROPS>
  16.         <PROPERTY NAME="lineComment" VALUE=";" />
  17.         <PROPERTY NAME="noWordSep" VALUE=".*+!-_?/" />
  18.         <PROPERTY NAME="unalignedOpenBrackets" VALUE="(" />
  19.         <PROPERTY NAME="unalignedCloseBrackets" VALUE=")" />
  20.         <PROPERTY NAME="multipleBracketIndent" VALUE="true" />
  21.     </PROPS>
  22.     <RULES  IGNORE_CASE="FALSE"
  23.             HIGHLIGHT_DIGITS="TRUE"
  24.             NO_WORD_SEP=".*+!-_?/"
  25.             DIGIT_RE="([0-9]+)|(([0-9]*\.[0-9]+)M?)|([0-9]+/[0-9]+)">
  26.         <!-- S-exps / lists.
  27.              Quoted first so as to not break the normal ones.
  28.              This is highly repetitive, there must be a better way
  29.         -->
  30.         <SPAN TYPE="MARKUP" DELEGATE="MAIN">
  31.             <BEGIN>#^(</BEGIN>
  32.             <END>)</END>
  33.         </SPAN>
  34.         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
  35.             <BEGIN>@(</BEGIN>
  36.             <END>)</END>
  37.         </SPAN>
  38.         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
  39.             <BEGIN>^(</BEGIN>
  40.             <END>)</END>
  41.         </SPAN>
  42.         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
  43.             <BEGIN>`(</BEGIN>
  44.             <END>)</END>
  45.         </SPAN>
  46.         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
  47.             <BEGIN>'(</BEGIN>
  48.             <END>)</END>
  49.         </SPAN>
  50.         <SPAN TYPE="FUNCTION" DELEGATE="MAIN">
  51.             <BEGIN>#(</BEGIN>
  52.             <END>)</END>
  53.         </SPAN>
  54.         <SPAN TYPE="MARKUP" DELEGATE="MAIN">
  55.             <BEGIN>(</BEGIN>
  56.             <END>)</END>
  57.         </SPAN>
  58.  
  59.         <!-- Vectors -->
  60.         <SPAN TYPE="MARKUP" DELEGATE="MAIN">
  61.             <BEGIN>#^[</BEGIN>
  62.             <END>]</END>
  63.         </SPAN>
  64.         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
  65.             <BEGIN>@[</BEGIN>
  66.             <END>]</END>
  67.         </SPAN>
  68.         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
  69.             <BEGIN>^[</BEGIN>
  70.             <END>]</END>
  71.         </SPAN>
  72.         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
  73.             <BEGIN>'[</BEGIN>
  74.             <END>]</END>
  75.         </SPAN>
  76.         <SPAN TYPE="LABEL" DELEGATE="MAIN">
  77.             <BEGIN>[</BEGIN>
  78.             <END>]</END>
  79.         </SPAN>
  80.  
  81.         <!-- Maps -->
  82.         <SPAN TYPE="MARKUP" DELEGATE="MAIN">
  83.             <BEGIN>#^{</BEGIN>
  84.             <END>}</END>
  85.         </SPAN>
  86.         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
  87.             <BEGIN>@{</BEGIN>
  88.             <END>}</END>
  89.         </SPAN>
  90.         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
  91.             <BEGIN>^{</BEGIN>
  92.             <END>}</END>
  93.         </SPAN>
  94.         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
  95.             <BEGIN>'{</BEGIN>
  96.             <END>}</END>
  97.         </SPAN>
  98.         <SPAN TYPE="LABEL" DELEGATE="MAIN">
  99.             <BEGIN>{</BEGIN>
  100.             <END>}</END>
  101.         </SPAN>
  102.  
  103.         <!-- Sets -->
  104.         <SPAN TYPE="MARKUP" DELEGATE="MAIN">
  105.             <BEGIN>#^#{</BEGIN>
  106.             <END>}</END>
  107.         </SPAN>
  108.         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
  109.             <BEGIN>@#{</BEGIN>
  110.             <END>}</END>
  111.         </SPAN>
  112.         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
  113.             <BEGIN>^#{</BEGIN>
  114.             <END>}</END>
  115.         </SPAN>
  116.         <SPAN TYPE="LITERAL3" DELEGATE="MAIN">
  117.             <BEGIN>'#{</BEGIN>
  118.             <END>}</END>
  119.         </SPAN>
  120.         <SPAN TYPE="LABEL" DELEGATE="MAIN">
  121.             <BEGIN>#{</BEGIN>
  122.             <END>}</END>
  123.         </SPAN>
  124.  
  125.         <!-- Quoted symbols -->
  126.         <SEQ AT_WORD_START="TRUE" TYPE="KEYWORD1">#'</SEQ>
  127.         <MARK_FOLLOWING
  128.             AT_WORD_START="TRUE"
  129.             TYPE="LITERAL3">'</MARK_FOLLOWING>
  130.         <!-- Meta symbols -->
  131.         <MARK_FOLLOWING
  132.             AT_WORD_START="TRUE"
  133.             TYPE="LABEL">^</MARK_FOLLOWING>
  134.         <!-- Deref symbols -->
  135.         <MARK_FOLLOWING
  136.             AT_WORD_START="TRUE"
  137.             TYPE="LABEL">@</MARK_FOLLOWING>
  138.         <!-- Metadata -->
  139.         <MARK_FOLLOWING
  140.             AT_WORD_START="TRUE"
  141.             TYPE="MARKUP">#^</MARK_FOLLOWING>
  142.  
  143.         <!-- Based on convention discussed here:
  144.              http://www.gigamonkeys.com/book/syntax-and-semantics.html -->
  145.         <EOL_SPAN TYPE="COMMENT4">;;;;</EOL_SPAN>
  146.         <EOL_SPAN TYPE="COMMENT3">;;;</EOL_SPAN>
  147.         <EOL_SPAN TYPE="COMMENT2">;;</EOL_SPAN>
  148.         <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN>
  149.  
  150.         <SPAN TYPE="LITERAL2" DELEGATE="REGEXPS" ESCAPE="\">
  151.             <BEGIN>#"</BEGIN>
  152.             <END>"</END>
  153.         </SPAN>
  154.  
  155.         <SPAN TYPE="LITERAL1" DELEGATE="STRINGS" ESCAPE="\">
  156.             <BEGIN>"</BEGIN>
  157.             <END>"</END>
  158.         </SPAN>
  159.  
  160.         <!-- Character literals -->
  161.         <SEQ_REGEXP
  162.                 HASH_CHAR="\"
  163.                 AT_WORD_START="TRUE"
  164.                 TYPE="LITERAL2">\\(.|newline|space|tab)</SEQ_REGEXP>
  165.  
  166.         <!-- The '.' special form -->
  167.         <SEQ AT_WORD_START="TRUE" TYPE="KEYWORD1">.</SEQ>
  168.  
  169.         <!-- Namespace separators -->
  170.         <!-- <MARK_PREVIOUS
  171.                 TYPE="LITERAL4"
  172.                 MATCH_TYPE="CONTEXT">/</MARK_PREVIOUS>
  173.         <MARK_PREVIOUS
  174.                 TYPE="LITERAL4"
  175.                 MATCH_TYPE="CONTEXT">.</MARK_PREVIOUS> -->
  176.  
  177.         <!-- Keywords -->
  178.         <MARK_FOLLOWING
  179.                 AT_WORD_START="TRUE"
  180.                 TYPE="KEYWORD4">:</MARK_FOLLOWING>
  181.  
  182.         <KEYWORDS>
  183.             <!-- Evaluation -->
  184.             <KEYWORD4>read</KEYWORD4>
  185.             <KEYWORD4>load</KEYWORD4>
  186.             <KEYWORD4>load-file</KEYWORD4>
  187.             <KEYWORD4>eval</KEYWORD4>
  188.             <KEYWORD4>apply</KEYWORD4>
  189.             <KEYWORD4>symbol</KEYWORD4>
  190.             <KEYWORD4>keyword</KEYWORD4>
  191.  
  192.             <!-- Special Forms -->
  193.             <KEYWORD1>quote</KEYWORD1>
  194.             <KEYWORD1>monitor-enter</KEYWORD1>
  195.             <KEYWORD1>monitor-exit</KEYWORD1>
  196.             <KEYWORD1>locking</KEYWORD1>
  197.             <KEYWORD1>macroexpand-1</KEYWORD1>
  198.             <KEYWORD1>macroexpand</KEYWORD1>
  199.             <KEYWORD3>partial</KEYWORD3>
  200.             <KEYWORD3>complement</KEYWORD3>
  201.             <KEYWORD3>comparator</KEYWORD3>
  202.             <KEYWORD3>constantly</KEYWORD3>
  203.             <KEYWORD3>identity</KEYWORD3>
  204.             <KEYWORD3>comp</KEYWORD3>
  205.  
  206.             <!-- Other functions -->
  207.             <KEYWORD1>map</KEYWORD1>
  208.             <KEYWORD1>mapcat</KEYWORD1>
  209.             <KEYWORD1>str</KEYWORD1>
  210.             <KEYWORD1>time</KEYWORD1>
  211.             <KEYWORD1>line-seq</KEYWORD1>
  212.             <KEYWORD1>reduce</KEYWORD1>
  213.  
  214.             <!-- Printing -->
  215.             <KEYWORD1>pr</KEYWORD1>
  216.             <KEYWORD1>prn</KEYWORD1>
  217.             <KEYWORD1>print</KEYWORD1>
  218.             <KEYWORD1>println</KEYWORD1>
  219.             <KEYWORD1>pr-str</KEYWORD1>
  220.             <KEYWORD1>prn-str</KEYWORD1>
  221.             <KEYWORD1>print-str</KEYWORD1>
  222.             <KEYWORD1>println-str</KEYWORD1>
  223.             <KEYWORD2>with-out-str</KEYWORD2>
  224.             <KEYWORD2>with-open</KEYWORD2>
  225.             <LITERAL1>newline</LITERAL1>
  226.  
  227.             <!-- RegExps -->
  228.             <KEYWORD1>re-matcher</KEYWORD1>
  229.             <KEYWORD1>re-find</KEYWORD1>
  230.             <KEYWORD1>re-matches</KEYWORD1>
  231.             <KEYWORD1>re-groups</KEYWORD1>
  232.             <KEYWORD1>re-seq</KEYWORD1>
  233.  
  234.             <!-- Flow control -->
  235.             <KEYWORD2>do</KEYWORD2>
  236.             <KEYWORD2>dotimes</KEYWORD2>
  237.             <KEYWORD2>loop</KEYWORD2>
  238.             <KEYWORD2>recur</KEYWORD2>
  239.             <KEYWORD2>throw</KEYWORD2>
  240.             <KEYWORD2>try</KEYWORD2>
  241.             <KEYWORD2>catch</KEYWORD2>
  242.             <KEYWORD2>finally</KEYWORD2>
  243.             <KEYWORD2>when</KEYWORD2>
  244.             <KEYWORD2>when-not</KEYWORD2>
  245.             <KEYWORD2>cond</KEYWORD2>
  246.             <KEYWORD2>if</KEYWORD2>
  247.             <KEYWORD3>assert</KEYWORD3>
  248.             <KEYWORD3>for</KEYWORD3>
  249.             <KEYWORD3>doseq</KEYWORD3>
  250.             <KEYWORD3>dorun</KEYWORD3>
  251.             <KEYWORD3>doall</KEYWORD3>
  252.             <KEYWORD3>when-first</KEYWORD3>
  253.             <KEYWORD3>refer</KEYWORD3>
  254.             <KEYWORD3>import</KEYWORD3>
  255.             <KEYWORD3>in-ns</KEYWORD3>
  256.             <KEYWORD3>find-ns</KEYWORD3>
  257.             <KEYWORD3>all-ns</KEYWORD3>
  258.             <KEYWORD3>dosync</KEYWORD3>
  259.             <KEYWORD3>deref</KEYWORD3>
  260.             <KEYWORD3>ensure</KEYWORD3>
  261.             <KEYWORD3>alter</KEYWORD3>
  262.             <KEYWORD3>shutdown</KEYWORD3>
  263.             <KEYWORD3>send</KEYWORD3>
  264.             <KEYWORD3>send-off</KEYWORD3>
  265.             <KEYWORD3>await</KEYWORD3>
  266.             <KEYWORD3>await-for</KEYWORD3>
  267.             <KEYWORD3>doto</KEYWORD3>
  268.  
  269.             <!-- Constructors -->
  270.             <FUNCTION>defmulti</FUNCTION>
  271.             <FUNCTION>defmethod</FUNCTION>
  272.             <FUNCTION>remove-method</FUNCTION>
  273.             <FUNCTION>meta</FUNCTION>
  274.             <FUNCTION>remove-ns</FUNCTION>
  275.             <FUNCTION>create-ns</FUNCTION>
  276.             <FUNCTION>binding</FUNCTION>
  277.             <FUNCTION>with-local-vars</FUNCTION>
  278.             <FUNCTION>ref</FUNCTION>
  279.             <FUNCTION>ref-set</FUNCTION>
  280.             <FUNCTION>commute</FUNCTION>
  281.             <FUNCTION>agent</FUNCTION>
  282.             <FUNCTION>deref</FUNCTION>
  283.             <FUNCTION>memfn</FUNCTION>
  284.             <FUNCTION>bean</FUNCTION>
  285.             <FUNCTION>proxy</FUNCTION>
  286.             <FUNCTION>make-array</FUNCTION>
  287.             <FUNCTION>list</FUNCTION>
  288.             <FUNCTION>sorted-map</FUNCTION>
  289.             <FUNCTION>sorted-map-by</FUNCTION>
  290.             <FUNCTION>hash-map</FUNCTION>
  291.             <FUNCTION>vector</FUNCTION>
  292.             <FUNCTION>create-struct</FUNCTION>
  293.             <FUNCTION>def</FUNCTION>
  294.             <FUNCTION>defstruct</FUNCTION>
  295.             <FUNCTION>defn</FUNCTION>
  296.             <FUNCTION>fn</FUNCTION>
  297.             <FUNCTION>defmacro</FUNCTION>
  298.             <FUNCTION>var</FUNCTION>
  299.             <FUNCTION>new</FUNCTION>
  300.             <FUNCTION>let</FUNCTION>
  301.             <FUNCTION>set!</FUNCTION>
  302.             <FUNCTION>struct-map</FUNCTION>
  303.             <FUNCTION>struct</FUNCTION>
  304.             <FUNCTION>array-map</FUNCTION>
  305.             <FUNCTION>hash-set</FUNCTION>
  306.             <FUNCTION>sorted-set</FUNCTION>
  307.             <FUNCTION>set</FUNCTION>
  308.             <FUNCTION>seq</FUNCTION>
  309.             <FUNCTION>cons</FUNCTION>
  310.             <FUNCTION>lazy-cons</FUNCTION>
  311.             <FUNCTION>set</FUNCTION>
  312.             <FUNCTION>int</FUNCTION>
  313.             <FUNCTION>long</FUNCTION>
  314.             <FUNCTION>double</FUNCTION>
  315.             <FUNCTION>char</FUNCTION>
  316.             <FUNCTION>boolean</FUNCTION>
  317.             <FUNCTION>short</FUNCTION>
  318.             <FUNCTION>byte</FUNCTION>
  319.             <FUNCTION>parse</FUNCTION>
  320.  
  321.             <!-- Collections -->
  322.             <KEYWORD1>count</KEYWORD1>
  323.             <KEYWORD1>seq</KEYWORD1>
  324.             <KEYWORD1>peek</KEYWORD1>
  325.             <KEYWORD1>pop</KEYWORD1>
  326.             <KEYWORD1>assoc</KEYWORD1>
  327.             <KEYWORD1>dissoc</KEYWORD1>
  328.             <KEYWORD1>get</KEYWORD1>
  329.             <KEYWORD1>nth</KEYWORD1>
  330.             <KEYWORD1>rseq</KEYWORD1>
  331.             <KEYWORD1>subvec</KEYWORD1>
  332.             <KEYWORD1>find</KEYWORD1>
  333.             <KEYWORD1>select-keys</KEYWORD1>
  334.             <KEYWORD1>key</KEYWORD1>
  335.             <KEYWORD1>val</KEYWORD1>
  336.             <KEYWORD1>keys</KEYWORD1>
  337.             <KEYWORD1>vals</KEYWORD1>
  338.             <KEYWORD1>merge</KEYWORD1>
  339.             <KEYWORD1>merge-with</KEYWORD1>
  340.             <KEYWORD1>accessor</KEYWORD1>
  341.             <KEYWORD1>conj</KEYWORD1>
  342.             <KEYWORD1>disj</KEYWORD1>
  343.             <KEYWORD1>first</KEYWORD1>
  344.             <KEYWORD1>rest</KEYWORD1>
  345.             <KEYWORD1>ffirst</KEYWORD1>
  346.             <KEYWORD1>frest</KEYWORD1>
  347.             <KEYWORD1>rfirst</KEYWORD1>
  348.             <KEYWORD1>rrest</KEYWORD1>
  349.             <KEYWORD1>second</KEYWORD1>
  350.             <KEYWORD1>some</KEYWORD1>
  351.             <KEYWORD1>concat</KEYWORD1>
  352.             <KEYWORD1>filter</KEYWORD1>
  353.             <KEYWORD1>take</KEYWORD1>
  354.             <KEYWORD1>take-nth</KEYWORD1>
  355.             <KEYWORD1>take-while</KEYWORD1>
  356.             <KEYWORD1>drop</KEYWORD1>
  357.             <KEYWORD1>nthrest</KEYWORD1>
  358.             <KEYWORD1>drop-while</KEYWORD1>
  359.             <KEYWORD1>reverse</KEYWORD1>
  360.             <KEYWORD1>cycle</KEYWORD1>
  361.             <KEYWORD1>interleave</KEYWORD1>
  362.             <KEYWORD1>split-at</KEYWORD1>
  363.             <KEYWORD1>split-with</KEYWORD1>
  364.             <KEYWORD1>repeat</KEYWORD1>
  365.             <KEYWORD1>replicate</KEYWORD1>
  366.             <KEYWORD1>iterate</KEYWORD1>
  367.             <KEYWORD1>range</KEYWORD1>
  368.             <KEYWORD1>into</KEYWORD1>
  369.             <KEYWORD1>sort</KEYWORD1>
  370.             <KEYWORD1>sort-by</KEYWORD1>
  371.             <KEYWORD1>zipmap</KEYWORD1>
  372.             <KEYWORD1>fnseq</KEYWORD1>
  373.             <KEYWORD1>lazy-cons</KEYWORD1>
  374.             <KEYWORD1>lazy-cat</KEYWORD1>
  375.             <KEYWORD1>with-meta</KEYWORD1>
  376.             <KEYWORD1>ns-name</KEYWORD1>
  377.             <KEYWORD1>ns-map</KEYWORD1>
  378.             <KEYWORD1>ns-interns</KEYWORD1>
  379.             <KEYWORD1>ns-publics</KEYWORD1>
  380.             <KEYWORD1>ns-imports</KEYWORD1>
  381.             <KEYWORD1>ns-refers</KEYWORD1>
  382.             <KEYWORD1>ns-resolve</KEYWORD1>
  383.             <KEYWORD1>resolve</KEYWORD1>
  384.             <KEYWORD1>ns-unmap</KEYWORD1>
  385.             <KEYWORD1>name</KEYWORD1>
  386.             <KEYWORD1>namespace</KEYWORD1>
  387.             <KEYWORD1>find-var</KEYWORD1>
  388.             <KEYWORD1>var-get</KEYWORD1>
  389.             <KEYWORD1>var-set</KEYWORD1>
  390.             <KEYWORD1>put</KEYWORD1>
  391.             <KEYWORD1>agent-errors</KEYWORD1>
  392.             <KEYWORD1>clear-agent-errors</KEYWORD1>
  393.             <KEYWORD1>alength</KEYWORD1>
  394.             <KEYWORD1>aget</KEYWORD1>
  395.             <KEYWORD1>aset</KEYWORD1>
  396.             <KEYWORD1>to-array</KEYWORD1>
  397.             <KEYWORD1>into-array</KEYWORD1>
  398.             <KEYWORD1>to-array-2d</KEYWORD1>
  399.  
  400.             <!-- Tests, operators and numerical fns -->
  401.             <KEYWORD4>-></KEYWORD4>
  402.             <KEYWORD4>instance?</KEYWORD4>
  403.             <KEYWORD4>every?</KEYWORD4>
  404.             <KEYWORD4>not-every?</KEYWORD4>
  405.             <KEYWORD4>not-any?</KEYWORD4>
  406.             <KEYWORD4>contains?</KEYWORD4>
  407.             <KEYWORD4>string?</KEYWORD4>
  408.             <KEYWORD4>symbol?</KEYWORD4>
  409.             <KEYWORD4>map?</KEYWORD4>
  410.             <KEYWORD4>seq?</KEYWORD4>
  411.             <KEYWORD4>vector?</KEYWORD4>
  412.             <KEYWORD4>identical?</KEYWORD4>
  413.             <KEYWORD4>pos?</KEYWORD4>
  414.             <KEYWORD4>neg?</KEYWORD4>
  415.             <KEYWORD4>zero?</KEYWORD4>
  416.             <KEYWORD4>nil?</KEYWORD4>
  417.             <KEYWORD4>false?</KEYWORD4>
  418.             <KEYWORD4>true?</KEYWORD4>
  419.             <KEYWORD4>inc</KEYWORD4>
  420.             <KEYWORD4>dec</KEYWORD4>
  421.             <KEYWORD4>+</KEYWORD4>
  422.             <KEYWORD4>-</KEYWORD4>
  423.             <KEYWORD4>=</KEYWORD4>
  424.             <KEYWORD4>==</KEYWORD4>
  425.             <KEYWORD4>not=</KEYWORD4>
  426.             <KEYWORD4><=</KEYWORD4>
  427.             <KEYWORD4>>=</KEYWORD4>
  428.             <KEYWORD4><</KEYWORD4>
  429.             <KEYWORD4>></KEYWORD4>
  430.             <KEYWORD4>/</KEYWORD4>
  431.             <KEYWORD4>*</KEYWORD4>
  432.             <KEYWORD4>%</KEYWORD4>
  433.             <KEYWORD4>quot</KEYWORD4>
  434.             <KEYWORD4>inc</KEYWORD4>
  435.             <KEYWORD4>dec</KEYWORD4>
  436.             <KEYWORD4>rem</KEYWORD4>
  437.             <KEYWORD4>min</KEYWORD4>
  438.             <KEYWORD4>max</KEYWORD4>
  439.             <KEYWORD4>and</KEYWORD4>
  440.             <KEYWORD4>or</KEYWORD4>
  441.             <KEYWORD4>not</KEYWORD4>
  442.             <KEYWORD4>bit-and</KEYWORD4>
  443.             <KEYWORD4>bit-or</KEYWORD4>
  444.             <KEYWORD4>bit-not</KEYWORD4>
  445.             <KEYWORD4>bit-shift-right</KEYWORD4>
  446.             <KEYWORD4>bit-shift-left</KEYWORD4>
  447.             <KEYWORD4>union</KEYWORD4>
  448.             <KEYWORD4>diffference</KEYWORD4>
  449.             <KEYWORD4>intersection</KEYWORD4>
  450.             <KEYWORD4>select</KEYWORD4>
  451.             <KEYWORD4>index</KEYWORD4>
  452.             <KEYWORD4>rename</KEYWORD4>
  453.             <KEYWORD4>join</KEYWORD4>
  454.             <KEYWORD4>distinct</KEYWORD4>
  455.             <KEYWORD4>submit</KEYWORD4>
  456.  
  457.             <!-- Pre-defined vars -->
  458.             <KEYWORD3>*ns*</KEYWORD3>
  459.             <KEYWORD3>*out*</KEYWORD3>
  460.             <KEYWORD3>*print-readably*</KEYWORD3>
  461.             <KEYWORD3>*print-readably*</KEYWORD3>
  462.             <KEYWORD3>*warn-on-reflection*</KEYWORD3>
  463.             <!-- Special symbols -->
  464.             <KEYWORD3>&</KEYWORD3>
  465.  
  466.             <!-- Literals -->
  467.             <LITERAL4>true</LITERAL4>
  468.             <LITERAL4>false</LITERAL4>
  469.             <LITERAL4>nil</LITERAL4>
  470.         </KEYWORDS>
  471.     </RULES>
  472.  
  473.     <RULES  SET="STRINGS"
  474.             HIGHLIGHT_DIGITS="FALSE"
  475.             DEFAULT="LITERAL1"
  476.             IGNORE_CASE="TRUE">
  477.         <SEQ_REGEXP
  478.             HASH_CHAR="\"
  479.             AT_WORD_START="FALSE"
  480.             TYPE="LABEL">\\.</SEQ_REGEXP>
  481.         <KEYWORDS>
  482.             <INVALID>"</INVALID>
  483.         </KEYWORDS>
  484.     </RULES>
  485.  
  486.     <RULES  SET="REGEXPS"
  487.             HIGHLIGHT_DIGITS="FALSE"
  488.             DEFAULT="LITERAL1"
  489.             IGNORE_CASE="TRUE">
  490.         <!-- TODO: Put actual regexp syntax hilighting -->
  491.         <SEQ_REGEXP
  492.             HASH_CHAR="\"
  493.             AT_WORD_START="FALSE"
  494.             TYPE="LABEL">\\.</SEQ_REGEXP>
  495.         <KEYWORDS>
  496.             <INVALID>"</INVALID>
  497.         </KEYWORDS>
  498.     </RULES>
  499. </MODE>
  500.  
  501.  
  502.